import javax.swing.table.AbstractTableModel; //charlie made a change here


public class CurrentClientTable extends AbstractTableModel {
    private boolean DEBUG = false;

        private String[] columnNames = 
                   {"First Name", "Last Name",  "Date Admitted", "Client Log#"};
        
        private Object[][] data = {
                        {"Jason", "McKenna", "04-12-2013", new Integer(0002),},
                        {"Andrew", "Wilson", "08-12-2013", new Integer(0004), },
                        {"Kendall", "Jackson", "02-12-2013", new Integer(0001)},
                        {"Joe", "Brennan", "03-10-2013", new Integer(0003)},
        };

        public int getColumnCount() {
                return columnNames.length;
        }

        public int getRowCount() {
                return data.length;
        }

        public String getColumnName(int col) {
                return columnNames[col];
        }

        public Object getValueAt(int row, int col) {
                return data[row][col];
        }

        /*
         * JTable uses this method to determine the default renderer/
         * editor for each cell.  If we didn't implement this method,
         * then the last column would contain text ("true"/"false"),
         * rather than a check box.
         */
        public Class getColumnClass(int c) {
                return getValueAt(0, c).getClass();
        }

        

        /*
         * Don't need to implement this method unless your table's
         * data can change.
         */
        public void setValueAt(Object value, int row, int col) {
                if (DEBUG) {
                        System.out.println("Setting value at " + row + "," + col
                                        + " to " + value
                                        + " (an instance of "
                                        + value.getClass() + ")");
                }

                data[row][col] = value;
                fireTableCellUpdated(row, col);

                if (DEBUG) {
                        System.out.println("New value of data:");
                        printDebugData();
                }
        }

        private void printDebugData() {
                int numRows = getRowCount();
                int numCols = getColumnCount();

                for (int i=0; i < numRows; i++) {
                        System.out.print("    row " + i + ":");
                        for (int j=0; j < numCols; j++) {
                                System.out.print("  " + data[i][j]);
                        }
                        System.out.println();
                }
                System.out.println("--------------------------");
        }
}
